Using real options to select stable middleware-induced software architectures

نویسندگان

  • Rami Bahsoon
  • Wolfgang Emmerich
  • Jonathan Macke
چکیده

The requirements that force decisions towards building distributed system architectures are usually of non-functional nature. Scalability, openness, heterogeneity, and fault-tolerance are examples of such non-functional requirements. The current trend is to build distributed systems with middleware, which provide the application developer with primitives for managing the complexity of distribution, system resources, and for realizing many of the non-functional requirements. As non-functional requirements evolve, the “coupling” between middleware and architecture becomes the focal point for understanding the stability of the distributed software system architecture in the face of change. We hypothesise that the choice of a stable distributed software architecture depends on the choice of the underlying middleware and its flexibility in responding to future changes in non-functional requirements. We devise an option-based model to value such flexibility and guide the selection. We empirically evaluate the model using a case study that adequately represents a medium-size component-based distributed architecture. We report on how a likely future change in scalability could impact the architectural structure of two versions, each induced with a distinct middleware: one with CORBA and the other with J2EE. Our hypothesis is verified to be true for the given change. We conclude with some observations that could stimulate future research in the area of relating requirements to software architectures.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Valuing Scalability in Distributed Architectures

Drawing on a case study that adequately represents a medium-size component-based distributed architecture, the novel contribution of this paper is an economics-driven software engineering approach to the valuation of scalability in distributed architectures. Using real options analysis, we report on how ranges in which changes in scalability requirements can inform the selection of distributed ...

متن کامل

Architectural Stability and Middleware: An Architecture-Centric Evolution Perspective

Architecture stability refers to the extent to which a software system can endure changes in requirements, while leaving the architecture of the software system intact. We argue that changes in non-functional requirements are critical to threat the stability of a software architecture over its projected lifetime. We claim that focusing the analysis on the “coupling” of middleware and software a...

متن کامل

Evaluating Software Architectures for Stability: A Real Options Approach

Architectural stability refers to the extent an architecture is flexible to endure evolutionary changes in stakeholders’ requirements and the environment, while leaving the architecture intact. In an evolutionary context, there is a pressing need for stable software architectures. In this context, requirements are generally volatile; they are likely to change and evolve over time. The change is...

متن کامل

A Unique Solution for Designing Low-Cost, Heterogeneous Sensor Networks Using a Middleware Integration Platform

Proprietary sensor network systems are typically expensive, rigid and difficult to incorporate technologies from other vendors. When using competing and incompatible technologies, a non-proprietary system is complex to create because it requires significant technical expertise and effort, which can be more expensive than a proprietary product. This paper presents the Sensor Abstraction Layer (S...

متن کامل

Executing Aspect-Oriented Component-Based Software Architectures on .NET Technology

Component-Based Software Development (CBSD) and Aspect-Oriented Software Development (AOSD) have emerged in the last few years as new paradigms of software development. Both approaches provide techniques to improve the structure and reusability of the code. In addition, Aspect-Oriented Programming (AOP) permits the reduction of the maintainability and development costs of the final code by mean...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IEE Proceedings - Software

دوره 152  شماره 

صفحات  -

تاریخ انتشار 2005